﻿#/bin/bash

#准备提示
echo “使用本脚为LNMP自动安装部署脚本，使用前请先将yum源配置完成，并将nginx-1.12.2.tar.gz放到/opt目录下！”

#主循环开始
while :
do
read -p '是否继续运行此脚本y/n' p
if [ $p == y ] ; then 

#关闭防火墙和SElinux
firewall-cmd --set-default-zone=trusted &> /dev/null
echo “成功关闭防火墙！”
sleep 0.5

setenforce 0 &> /dev/null
sed -i '/SELINUX/s/enforcing/permissive/'  /etc/selinux/config &> /dev/null
echo “成功关闭SELinux！”
sleep 0.5

#检查yum源是否安装
i=`yum repolist | sed -n '$p' | sed 's/,//g' | awk '{print $2}'`
[ $i -le 9000 ] &> /dev/null && echo "请检查yum源是否正常" && exit
echo "检查yum源正常!"
sleep 0.5

#安装基础软件包
yum -y install net-tools vim bash-completion

#循环判断安装nginx
while :
do
read -p '是否安装Nginx？如需指定nginx安装插件，请进入脚本修改！y/n' p
if [ $p == y ] ; then 
#检查/opt/目录下是否有nginx源码包
[ -e /opt/nginx-1.12.2.tar.gz ] &> /dev/null 
[ $? -ne 0 ] && echo "请检查nginx-1.12.2.tar.gz是否在/opt目录下！" && exit || echo “nginx安装包检查成功！” 
sleep 0.5

#安装源码安装所需软件
yum -y install zip gcc make pcre-devel openssl-devel

#解压并进入目录
cd /opt
tar -xf /opt/nginx-1.12.2.tar.gz
cd nginx-1.12.2

#开始配置并安装(可适当安装所需插件)
./configure --with-http_ssl_module
make && make install

#配置Nginx的systemd
echo "[Unit]
Description=The Nginx HTTP Server
#描述信息
After=network.target remote-fs.target nss-lookup.target
#指定启动nginx之前需要其他的其他服务，如network.target等

[Service]
Type=forking
#Type为服务的类型，仅启动一个主进程的服务为simple，需要启动若干子进程的服务为forking
ExecStart=/usr/local/nginx/sbin/nginx
#设置执行systemctl start nginx后需要启动的具体命令.
ExecReload=/usr/local/nginx/sbin/nginx -s reload
#设置执行systemctl reload nginx后需要执行的具体命令.
ExecStop=/bin/kill -s QUIT ${MAINPID}
#设置执行systemctl stop nginx后需要执行的具体命令.

[Install]
WantedBy=multi-user.target" > /usr/lib/systemd/system/nginx.service

#启动nginx服务
systemctl daemon-reload
systemctl start nginx
systemctl enable nginx

#完成提示
[ $? -eq 0 ] && echo "LNMP均已安装，并成功启动！" || echo "nginx启动失败！"
echo "LNMP安装完成，请修改配置文件使用！"
break

#循环判断nginx末尾
elif [ $p == n ] ; then
	break
else
	echo "请输入y/n!"
fi
done

#判断是否安装Mariadb
while :
do
read -p '是否安装Mariadb？y/n' p
if [ $p == y ] ; then 
#安装并启动Mariadb
yum -y install mariadb mariadb-server mariadb-devel
systemctl start mariadb
systemctl enable mariadb
break
#循环判断mariadb末尾
elif [ $p == n ] ; then
	break
else
	echo "请输入y/n!"
fi
done


#判断是否安装PHP
while :
do
read -p '是否安装PHP？y/n' p
if [ $p == y ] ; then 
#安装并启动PHP
yum -y install php php-fpm php-mysql
systemctl start php-fpm
systemctl enable php-fpm
echo "脚本安装结束！"
exit
#循环判断php末尾
elif [ $p == n ] ; then
	break
else
	echo "请输入y/n!"
fi
done

#主循环判断末尾
elif [ $p == n ] ; then
	exit
else
	echo "请输入y/n!"
fi
done
